package com.iflytek.cuckoo.service;

import redis.clients.jedis.Jedis;

import java.util.Map;

/**
 * <p><一句话功能简述>
 * <p><功能详细描述>
 * <p>
 * <p>Copyright (c) 2018, liangzhang14@iflytek.com All Rights Reserve</p>
 * <p>Company : 科大讯飞</p>
 *
 * @author liangzhang14
 * @version [V1.0, 2019年04月17日 11:58]
 * @see [相关类/方法]
 */
public interface CacheService {

    Jedis getJedisInstant();

    void watch(String... key);

    void expire(String k, int tomeout);

    void set(String key, String value);

    void set(String key, String value, int timeout);

    String get(String key);

    void setDbIndex(String key, String value, int timeout, int dbIndex);

    void setDbIndex(String key, String value, int dbIndex);

    String getDbIndex(String key, int dbIndex);

    void delete(String key);

    void hset(String key, Object field, String value);

    String hget(String key, Object field);

    Long hdel(String key, Object field);

    String ttl(String phone);

    /*******************以下是直接操作对象*****************************/

    <T> Object getObj(String key, Class<T> beanType);

    /*
     * @Describe:往list集合中添加数据
     * @author: hym in 2017/12/22
     * @param： key:list集合的key
     * @param： value:保存的数据
     */
    Long setList(String key, String value);

    Map<String, String> getToken(String ipackageId);
}
